/**
 * 
 */
package com.fashop.service.impl;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.fashop.bean.Result;
import com.fashop.bean.local.ListadoLocalOut;
import com.fashop.bean.producto.BuscaLocalesVentaProducto;
import com.fashop.bean.producto.BuscarSexoEdad;
import com.fashop.bean.producto.ListadoProducto;
import com.fashop.bean.producto.ProductoIn;
import com.fashop.bean.producto.ProductoOut;
import com.fashop.dao.ProductoDao;
import com.fashop.enumeration.StateTransactionEnum;
import com.fashop.jpa.Producto;
import com.fashop.mapper.GenericMapper;
import com.fashop.service.ProductoService;

/**
 * @author Alan Dávila
 * e-mail ustargab@gmail.com
 * date 15/01/2014 23:21:51
 */
@Service("productoServiceImpl")
public class ProductoServiceImpl implements ProductoService {

	@Resource(name = "productoDaoImpl")
	private ProductoDao productoDaoImpl;
	@Resource(name = "listadoProductoMapperOut")
	private GenericMapper<List<Producto>, List<ProductoOut>> listadoProductoMapperOut;
	
	/* (non-Javadoc)
	 * @see com.fashop.service.ProductoService#listadoEdadSexo(com.fashop.bean.producto.BuscarSexoEdad)
	 */
	public ListadoProducto listadoEdadSexo(BuscarSexoEdad filtro) {
		List<Producto>  respuesta 			= productoDaoImpl.listadoEdadSexo(filtro.getEdad(), filtro.getSexo());
		ListadoProducto listadoRespuesta 	= new ListadoProducto();
		List<ProductoOut> listaProductosOut = listadoProductoMapperOut.map(respuesta);
		Result result = new Result(StateTransactionEnum.GET.toString());
		if (listaProductosOut == null) {
			result.setEstado(StateTransactionEnum.ERROR.toString());
		}
		listadoRespuesta.setListado(listaProductosOut);
		listadoRespuesta.setResult(result);
		return listadoRespuesta;
	}

	
	/* (non-Javadoc)
	 * @see com.fashop.service.ProductoService#crear(com.fashop.bean.producto.ProductoIn)
	 */
	public ProductoOut crear(ProductoIn producto) {
		// TODO Auto-generated method stub
		return null;
	}

	/* (non-Javadoc)
	 * @see com.fashop.service.ProductoService#actualizar(com.fashop.bean.producto.ProductoIn)
	 */
	public ProductoOut actualizar(ProductoIn producto) {
		// TODO Auto-generated method stub
		return null;
	}

	/* (non-Javadoc)
	 * @see com.fashop.service.ProductoService#eliminar(com.fashop.bean.producto.ProductoIn)
	 */
	public ProductoOut eliminar(ProductoIn producto) {
		// TODO Auto-generated method stub
		return null;
	}


	public ListadoLocalOut getProductoLcalesVenta(BuscaLocalesVentaProducto idProducto) {
		
		return null;
	}

}
